In order to increase the wireless market to the greatest extent possible, wireless service providers and wireless equipment manufacturers constantly seek new ways to make wireless equipment and services as convenient, user-friendly, and affordable as possible. To that end, wireless service providers and the manufacturers of wireless mobile stations, such as cell phones, and fixed (or stationary) wireless terminals, frequently work together to streamline procedures for enrolling and equipping new subscribers and for improving the services and equipment of existing subscribers.
One important aspect of these efforts involves over-the-air (OTA) provisioning and upgrading of wireless mobile stations, such as cell phones, wireless personal digital assistants (PDAs), wireless hand-held computers, two-way pagers, and the like, as well as fixed wireless terminals. OTA provisioning is a relatively new feature that enables a new subscriber who purchases a new cell phone (or other wireless device) to set up a new account with a wireless service provider and to configure the new cell phone for operation. Over-the-air (OTA) upgrading of a wireless device also is a relatively new procedure that enables a subscriber to download and install updated software containing patches, bug fixes, and newer versions of the software, including the operating system, stored in the wireless device. The wireless service provider or the mobile station manufacturer, or both, may provide the updated software.
However, one drawback to an OTA update procedure is that user interference may render the mobile station useless. Typically, the user interference causes power to be shut off during the application of a software update file. The power shut-off may be intentional (i.e., user removes battery) or accidental (i.e., user drops mobile and battery dislodges). In any event, the new code from the downloaded update file may be only partially applied to the non-volatile memory when power is cut off. As a result, when the mobile station is powered up again, the corrupted code in the non-volatile memory may render the mobile station useless.
Therefore, there is a need in the art for improved systems and methods for performing automatic software updates of wireless mobiles stations and fixed wireless terminals. In particular, there is a need for a method of replacing the software of a wireless communication device that does not render the wireless communication device useless if power is suddenly lost during application of the updated software.